﻿using Bot.Application.Dto;
using Bot.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Text;

namespace Bot.Application.Services
{
    public interface IChatbotAppService
    {
        ChatbotDto Get(Guid id, string include);

        IEnumerable<ChatbotDto> GetList(string include,string channel);

        ChatbotDto Add(ChatbotCreateDto dto, bool ifDefault, string projectId);

        ChatbotDto Update(Guid id, ChatbotUpdateDto dto);

        void Delete(Guid id);

        /// <summary>
        /// 导出
        /// </summary>
        /// <param name="botId"></param>
        /// <returns>返回资源的下载地址</returns>
        string Export(Guid botId);
        /// <summary>
        /// 导入
        /// </summary>
        /// <param name="botId"></param>
        /// <param name="filePath"></param>
        /// <returns>返回Operation</returns>
        OperationDto Import(Guid botId,string filePath);
        /// <summary>
        /// 训练
        /// </summary>
        /// <param name="botId"></param>
        /// <returns>返回Operation</returns>
        OperationDto Train(Guid botId);
        /// <summary>
        /// 测试
        /// </summary>
        /// <param name="botId"></param>
        /// <param name="testRequestBody"></param>
        /// <returns></returns>
        TestBotResponseDto Test(Guid botId, TestRequestBodyDto testRequestBody);
    }
}